/* ここにはデータベースにアクセスする関数を書く */

/*
 * 
 * 
 */
function addReccomend(successCallback, errorCallback, status_id, in_fav_to_user_id, user_id){
	var data = {
		status_id : status_id,
		in_fav_to_user_id : in_fav_to_user_id,
		user_id : user_id
	};
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "recommends/ajax_addReccomend/",//ポスト先
    	data : data,
    	dataType : "json",		//データの形式
    	success : successCallback,
    	error : errorCallback
    });
}

/*
 * ローカルとtwitterからツイートを削除
 * サーバー側 : schools/ajax_addStatus/
 */
function removeStatus(successCallback, errorCallback, status_id){
	var data = {status_id : status_id};
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "statuses/ajax_removeStatus/",//ポスト先
    	data : data,
    	dataType : "json",		//データの形式
    	success : successCallback,
    	error : errorCallback
    });
}
/*
 * ログインユーザーの取得
 * サーバー側 : schools/ajax_addStatus/
 */
function addStatus(successCallback, errorCallback, data){
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "statuses/ajax_addStatus/",//ポスト先
    	data : data,
    	dataType : "json",		//データの形式
    	success : successCallback,
    	error : errorCallback
    });
}

/*
 * ログインユーザーの取得
 * サーバー側 : schools/ajax_getLoginedUser/
 */
function getLoginedUser(successCallback, errorCallback){
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "users/ajax_getLoginedUser/",//ポスト先
    	dataType : "json",		//データの形式
    	success : successCallback,
    	error : errorCallback
    });
}

/*
 * お気に入りの取得
 * サーバー側 : favorites/ajax_getMyFavStatuses/
 */
function getMyFavStatuses(successCallback, errorCallback, favId, count){
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "favorites/ajax_getMyFavStatuses/",//ポスト先
    	data : "favId=" + favId +"&count=" + count,
    	dataType : "json",		//データの形式
    	success : successCallback,
    	error : errorCallback
    });
}


/*
 *学校別にツイートを取ってくる
 * サーバー側 : schools/ajax_searchSchools/
 * @param schoolId スクールID
 * @param statusId 最後のID,これより小さいIDのツイートを取ってくる
 * @param count 取ってくる個数
 * Object
	Location: Object
				->Address: Object
	Status: Object
	TwitterUser : Object
	User : Object
			->Campus: Object
 * が配列で取れる
 */
function getStatusesBySchoolId(successCallback, errorCallback, schoolId, statusId, count){
	statusId = (statusId == null) ? 0 : statusId;
	count = (count == null) ? 10 : count;
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "statuses/ajax_getStatusesBySchoolId/",//ポスト先
    	data : "schoolId=" + schoolId +"&statusId=" + statusId + "&count=" + count,
    	dataType : "json",		//データの形式
    	success : successCallback,
    	error : errorCallback
    });
}

/*
 * サーバーに溜まっている検索をツイート
 * サーバー側 : schools/ajax_searchSchools/
 * @param word 検索単語スペースで区切って検索できるよ
 * @param offset オフセット　デフォルトは0
 * @param count 取ってくる個数
 * Object
	Location: Object
	Status: Object
 * が配列で取れる
 */
function searchSchools(successCallback, errorCallback, word ,offset, count){
	offset = (offset == null) ? 0 : offset;
	count = (count == null) ? 10 : count;
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "schools/ajax_searchSchools/",//ポスト先
    	data : "word=" + word +"&offset=" + offset + "&count=" + count,
    	dataType : "json",		//データの形式
    	success : successCallback,
    	error : errorCallback
    });
}

/*
 * ツイート検索
 * サーバー側 : statuses/ajax_getMyStatuses/
 * @param word 検索単語 スペースで区切って検索できるよ
 * @param offset オフセット　デフォルトは0
 * @param count 取ってくる個数
 * Object
	Location: Object
	Status: Object
 * が配列で取れる
 */
function searchStatuses(successCallback, errorCallback, word, category_id, offset, count){
	offset = (offset == null) ? 0 : offset;
	count = (count == null) ? 10 : count;
	category_id = (category_id == null) ? 0 : category_id;
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "statuses/ajax_searchStatuses/",//ポスト先
    	data : "word=" + word +"&offset=" + offset + "&count=" + count + "&category_id=" + category_id,
    	dataType : "json",		//データの形式
    	success : successCallback,
    	error : errorCallback
    });
}

/*
 * サーバーに溜まっている自分のツイートを取ってくる
 * サーバー側 : statuses/ajax_getMyStatuses/
 * Object
	Location: Object
	Status: Object
 * が配列で取れる
 */
function getMyStatuses(successCallback, errorCallback, statusId, count){
	statusId = (statusId == null) ? 0 : statusId;
	count = (count == null) ? 10 : count;
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "statuses/ajax_getMyStatuses/",//ポスト先
    	data : "statusId=" + statusId + "&count=" + count,
    	dataType : "json",		//データの形式
    	success : successCallback,
    	error : errorCallback
    });
}


/*
 * 近所のツイートをとってくる
 * サーバー側 : statuses/ajax_getNeighbors/
 * Object
	Location: Object
				->Address: Object
	Status: Object
	TwitterUser : Object
	User : Object
			->Campus: Object
 * が配列で取れる
 */
function getNeighbors(successCallback, errorCallback, north, east, south, west){
	$.ajax({
    	type: "POST",
    	url: WEB_ROOT + "statuses/ajax_getNeighbors/",			//ポスト先
		data: "north=" + north + "&east=" + east + "&south=" + south + "&west=" + west,	//引数
    	dataType : "json",		//データの形式
    	success: successCallback,
    	error : errorCallback
    });
}


